package imotech.web.mbeans;

import imotech.ejb.dao.ImovelDAO;

import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="imovel")
@SessionScoped
public class Imovel {
	private String titulo;
	private String descricao;
	private int valor;
	private int id;
	private double area;
	private int quartos;
	private int vagaGaragem;
	private int sala;
	private int cozinha;
	private int jardim;
	private String negociacao;
	private String tipo;
	private String bairro;

	@EJB
	private ImovelDAO imovelDAO;
	
	public String getTitulo() {
		return titulo;
	}
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public int getValor() {
		return valor;
	}
	public void setValor(int valor) {
		this.valor = valor;
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public double getArea() {
		return area;
	}
	public void setArea(double area) {
		this.area = area;
	}
	public int getQuarto() {
		return quartos;
	}
	public void setQuarto(int quarto) {
		this.quartos = quarto;
	}
	public int getVagaGaragem() {
		return vagaGaragem;
	}
	public void setVagaGaragem(int vagaGaragem) {
		this.vagaGaragem = vagaGaragem;
	}
	public int getSala() {
		return sala;
	}
	public void setSala(int sala) {
		this.sala = sala;
	}
	public int getCozinha() {
		return cozinha;
	}
	public void setCozinha(int cozinha) {
		this.cozinha = cozinha;
	}
	public int getJardim() {
		return jardim;
	}
	public void setJardim(int jardim) {
		this.jardim = jardim;
	}
	
	public int getQuartos() {
		return quartos;
	}
	public void setQuartos(int quartos) {
		this.quartos = quartos;
	}
	public String getNegociacao() {
		return negociacao;
	}
	public void setNegociacao(String negociacao) {
		this.negociacao = negociacao;
	}
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	public String getBairro() {
		return bairro;
	}
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public ImovelDAO getImovelDAO() {
		return imovelDAO;
	}
	public void setImovelDAO(ImovelDAO imovelDAO) {
		this.imovelDAO = imovelDAO;
	}
	public List<imotech.ejb.model.Imovel> getTodos() {
		return imovelDAO.todos();
	}

	public String cadastrar() throws Exception {
		imotech.ejb.model.Imovel imovel = new imotech.ejb.model.Imovel();
		imovel.setTitulo(titulo);
		imovel.setDescricao(descricao);
		imovel.setValor(valor);
		imovel.setArea(area);
		imovel.setQuartos(quartos);
		imovel.setVagaGaragem(vagaGaragem);
		imovel.setSala(sala);
		imovel.setCozinha(cozinha);
		imovel.setJardim(jardim);
		imovel.setNegociacao(negociacao);
		imovel.setTipo(tipo);
		imovel.setBairro(bairro);
	
		imovelDAO.cadastrar(imovel);
		
		return "/imoveis/todos.xhtml";
	}
	
	public String mostrar(String id) {
		imotech.ejb.model.Imovel imovel = imovelDAO.recuperar(Integer.valueOf(id));
		setTitulo(imovel.getTitulo());
		setDescricao(imovel.getDescricao());
		setValor(imovel.getValor());
		setId(imovel.getId());
		
		return "/imoveis/mostrar.xhtml";
	}
}
